package br.unp.tasi.loja.entidades;

import java.io.Serializable;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author jfrank
 */
@Entity
@Table(name = "categoria")
public class Categoria implements Serializable {

  private static final long serialVersionUID = 1L;
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;
  private String nome;
  private String descricao;
  /**
   * Uma Categoria possui Muitos Produtos
   */
  @OneToMany(mappedBy = "categoria", cascade = CascadeType.ALL)
  private List<Produto> produtos;

  /**
   * @return the id
   */
  public Long getId() {
    return id;
  }

  /**
   * @param id the id to set
   */
  public void setId(Long id) {
    this.id = id;
  }

  /**
   * @return the nome
   */
  public String getNome() {
    return nome;
  }

  /**
   * @param nome the nome to set
   */
  public void setNome(String nome) {
    this.nome = nome;
  }

  /**
   * @return the descricao
   */
  public String getDescricao() {
    return descricao;
  }

  /**
   * @param descricao the descricao to set
   */
  public void setDescricao(String descricao) {
    this.descricao = descricao;
  }

  /**
   * @return the produtos
   */
  public List<Produto> getProdutos() {
    return produtos;
  }

  /**
   * @param produtos the produtos to set
   */
  public void setProdutos(List<Produto> produtos) {
    this.produtos = produtos;
  }
}
